package it.gat.model;

import java.util.List;

public class Utente extends Model {
	
	private String nomeUtente;
    private String password;
    private String cognome;
    private String nome;
    private boolean abilitazione;
    private String telefono;
    private String cellulare;
    private List<Permesso> permessi;
    private GruppoUtentiEnum gruppo;
	
    public Utente() {
		super();
	}

	public String getNomeUtente() {
		return nomeUtente;
	}

	public void setNomeUtente(String nomeUtente) {
		this.nomeUtente = nomeUtente;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getCognome() {
		return cognome;
	}

	public void setCognome(String cognome) {
		this.cognome = cognome;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public void setAbilitazione(boolean abilitazione) {
		this.abilitazione = abilitazione;
	}

	public boolean getAbilitazione() {
		return abilitazione;
	}

	public String getTelefono() {
		return telefono;
	}

	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}

	public String getCellulare() {
		return cellulare;
	}

	public void setCellulare(String cellulare) {
		this.cellulare = cellulare;
	}

	public boolean login(String password)
	{
		if (this.password!=null)
		{
			if ( this.password.equals(password))
			{
				return true;
			}
		}
		return false;
	}

	public List<Permesso> getPermessi() {
		return permessi;
	}

	public void setPermessi(List<Permesso> permessi) {
		this.permessi = permessi;
	}

	public GruppoUtentiEnum getGruppo() {
		return gruppo;
	}

	public void setGruppo(GruppoUtentiEnum gruppo) {
		this.gruppo = gruppo;
	}
	
	public boolean hasPermesso(PermessoEnum permessoEnum){
		for(Permesso permesso:permessi)
		{
			if (permesso.getPermessoEnum()==permessoEnum)
				return true;
		}
		return false;
	}

}
